package com.ajx.blog.service.api;

import com.ajx.blog.entity.Admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

public interface AdminService extends IService<Admin> {

    /**
     * @param {Admin} admin 管理员对象
     * @return {boolean} 添加是否成功 true/false
     * 
     * @description: 添加一位管理员
     */
    boolean insertOneAdmin(Admin admin);

    /**
     * @param {Integer} adminId 管理员ID
     * @return {boolean} 删除是否成功 true/false
     * 
     * @description: 通过管理员ID删除一位管理员
     */
    boolean deleteOneAdmin(Integer adminId);

    /**
     * @param {Integer}   aid 管理员id
     * @param {Integer[]} ids 角色列表
     * @return {boolean} 更新是否成功 true/false
     * 
     * @description: 更新管理员的角色
     */
    boolean updateRolesAdminById(Integer aid, Integer[] ids);

    /**
     * @param {String} aname 管理员账号
     * @return {Admin} 管理员对象
     * 
     * @description: 通过管理员账号查找管理员
     */
    Admin findAdminByName(String aname);

    /**
     * @param {Integer} page 当前页码数
     * @return {PageInfo<Admin>} 封装的分页信息对象
     * 
     * @description: 分页查找所有管理员
     */
    PageInfo<Admin> findAllAdminList(Integer page);

}
